Design system, rebrand styles, and lucide→Phosphor icon migration#1027
Design system, rebrand styles, and lucide→Phosphor icon migration#1027Abeuty wants to merge 12 commits into
Conversation
…ration Build out the /ds design system as the source of truth for the site and apply its tokens, type, and icons across the app. Design system (/ds): - Rendered style book with tree nav: Styles (Colors, Typography, Iconography, Icon Migration, Shadows, Effects), Figma Tokens (Palette, Semantic Tokens), and Components (Buttons, Badges, Inputs, Dropdown, Avatar, Spinner, Collapsible, Breadcrumbs, Cards). - Figma token layer in app.css (@theme static): primitives (--color-ds-*), library (--color-lib-*), and semantic tokens (text/background/border/icon/ action/status/accent) with html.dark overrides. - New-system component kit (src/components/ds/ui) on the semantic tokens. Site-wide rebrand application: - Global type: h1..h6 → Bricolage Grotesque, mono → IBM Plex Mono, fonts loaded globally from __root.tsx. Editing --font-ds-* propagates everywhere. - Navbar swapped to the new rebrand landscape logo (light/dark variants) with centered nav; mega menu centered. - Palm-tree pixel-art spinner (PalmSpinner) that sways at the trunk base. Icon migration (lucide-react → @phosphor-icons/react), 155 files: - 218 distinct icons (85 kept name, 133 renamed) at regular weight. - Props translated: dropped strokeWidth/absoluteStrokeWidth, fill→weight="fill", LucideIcon type → Phosphor Icon type; aliases and same-target collisions handled. - /ds/icon-migration review page renders old→new glyphs side by side so maintainers can flag any swap that doesn't fit its context. lucide-react is kept installed (the review page renders the "before" glyphs); it can be removed once that page is retired. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 200 files, which is 50 over the limit of 150. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (21)
📒 Files selected for processing (200)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tanstack-com | bb0fe1e | Commit Preview URL Branch Preview URL |
Jul 10 2026, 09:31 PM |
…cons # Conflicts: # src/components/ApplicationStarter.tsx # src/components/OpenSourceStats.tsx # src/components/npm-stats/BaselineSection.tsx # src/components/npm-stats/ChartControls.tsx # src/components/npm-stats/PackagePills.tsx # src/components/npm-stats/PackageSearch.tsx # src/routes/_library/$libraryId/$version.docs.npm-stats.tsx # src/routes/admin/intent.tsx # src/routes/admin/npm-stats.tsx # src/routes/stats/npm/index.tsx
Design-system follow-ups on top of the rebrand: - Palette: bridge legacy gray/twine to the warm DS neutral ramp in app.css so the whole site adopts the new palette; migrate the shared primitives (Button, Badge, FormInput, Tooltip) to semantic tokens. - Typography: add semantic .h1-.h6 classes; move Font families to the top of /ds/typography and make the family cards minimal. - MegaMenuItem: extract the mega-menu row into a reusable component matched to the Figma "Mega Menu Item" (bordered 44px icon, Bricolage-bold title, #aba594 description, adaptive hover/press); wire it into the Navbar with 8px spacing between items. - /ds/navbar: new Navbar DS page - anatomy preview with a device-size toggle (Auto/Mobile/iPad/Desktop) driven by container queries, plus a MegaMenuItem showcase. Add a "Design System" nav item under Support. - Home: remove the "Browse the stack" section; restructure "Why TanStack" into four centered principle sections. Refine navbar spacing. - Icons: finish the lucide->Phosphor migration (CheckCircleIcon->CheckCircle, CogsIcon->Gear); remove the orphaned custom icons. - Spinner: remove the Palm spinner demo from /ds/spinner. - Add @figma/code-connect dev dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump the shared DsPage wrapper from max-w-5xl (1024px) to max-w-7xl (1280px) so all design-system pages use more horizontal space on wide screens (e.g. the icon-migration grid no longer truncates names). Header stays left-aligned. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolve conflicts with the updated base: - pnpm-lock.yaml: regenerated from the merged package.json (keeps @figma/ code-connect plus the base's new deps). - app.css: the base added a :root/:host block pinning grays to the original cool values (a layer-stability fix); updated it to the warm DS-neutral bridge values so the palette shift isn't reverted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Centered header (PRINCIPLES eyebrow + display title + subtitle) over a single bordered container with 4 full-width stacked principle cards - Adopt DS rebrand tokens: Bricolage Grotesque display, IBM Plex Mono, ds color/type semantic tokens (theme-aware, works light + dark) - Per-card eyebrow accents (terracotta/green/blue/purple) matching Figma - Keep the proof visualizations; float them (no surface box) and scale them up to fill the media slot's footprint - Drop the now-unused per-card icons and iconClassName field Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ds-rebrand-followups # Conflicts: # src/routes/index.tsx
…cons # Conflicts: # src/routes/index.tsx # src/routes/partners.railway.tsx
…ds-rebrand-followups # Conflicts: # src/routes/index.tsx # src/routes/workshops.tsx
…only SVGs
Continue the rebrand rollout by replacing the leftover old TanStack logos
with the new brand assets, and remove the unreferenced 193MB hero video.
- Extract emblem-only SVGs from the stacked logo's island path into
public/images/brand/tanstack-emblem-{black,white,charcoal,cream}.svg
(the rebrand set only shipped stacked/landscape, both with the wordmark).
- SearchModal AI-message avatar → emblem (theme-swapped black/white).
- Game coin texture → emblem-black.
- BrandContextMenu download menu → Landscape / Stacked / Emblem (black + white).
- brand-guide asset sections → Landscape / Stacked / Emblem in brand colors.
- login + oauth/authorize splash → emblem (theme-swapped).
- Remove unreferenced public/videos/hero.mp4 (193MB, never committed).
- launch.json: autoPort so the dev server falls back off a busy port 3000.
Left intentionally (separate follow-ups): homepage hero (redesign scope),
ShopHero3D 3D textures, and favicons/OG images (need PNG rasterization + a
mono-vs-color decision).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
What
Builds out the
/dsdesign system as the source of truth for the site, applies its rebrand tokens/type across the app, and migrates every icon fromlucide-reactto@phosphor-icons/react.Design system (
/ds)app.cssvia@theme static— primitives (--color-ds-*), library (--color-lib-*), and semantic tokens (text/background/border/icon/action/status/accent) withhtml.darkoverrides. Editing a primitive propagates through everything that references it.src/components/ds/uibuilt on the semantic tokens.Site-wide rebrand
h1..h6→ Bricolage Grotesque, mono → IBM Plex Mono, loaded globally from__root.tsx. Re-pointing--font-ds-*restyles the whole site.prefers-reduced-motion).Icon migration — lucide → Phosphor (155 files)
regularweight. Every Phosphor target was validated against the installed package before the sweep.strokeWidth/absoluteStrokeWidth,fill→weight="fill",LucideIcontype → PhosphorIcontype; aliases (Search as SearchIcon→MagnifyingGlass as SearchIcon) and same-target collisions (Layers/Boxes/SquareStack→Stack) handled./ds/icon-migrationreview page renders old → new glyphs side by side (Flagged / Renamed / All tabs + search) so maintainers can flag any swap that doesn't fit its context.Notes for reviewers
lucide-reactis intentionally kept installed — the review page renders the "before" glyphs from it. It can be removed once that page is retired./ds/icon-migration(e.g.Server→HardDrives,Route→Path,Milestone→MapPinLine,Activity→Pulse,Dock→AppWindow, and the four that collapse toStack).public/videos/hero.mp4is deliberately not included in this PR.tscclean, lint clean, unit tests pass (all via pre-commit), and/dspages render without console errors.🤖 Generated with Claude Code